Computer technologies continue to advance at a rapid pace. Indeed, computers are used in almost all aspects of business, industry and academic endeavors. Improvements in computer technologies have been a force for bringing about great increases in business and industrial productivity. More and more homes are using computers as well.
There are many different kinds of computers in use today. The term “computer system” will be used herein to refer generally to any device or combination of devices that is capable of processing information to produce a desired result. Some examples of computer systems include personal computers, hand-held computers, personal digital assistants (PDAs), servers, mainframes, supercomputers, minicomputers, workstations, microcomputers, microcontrollers, and the like.
Java® is an object-oriented programming language designed to generate applications that can run on all hardware platforms without modification. Source code that is written in the Java® programming language is compiled into byte code. The byte code is then run on a Java® Virtual Machine (JVM), which is a program written in native code on the host hardware that translates Java® byte code into usable code on the hardware.
The Java® 2 Platform, Micro Edition (J2ME) is a technology that allows programmers to use the Java® programming language to develop applications for embedded devices, such as mobile phones, personal digital assistants (PDAs), pagers, etc. Such devices may be referred to as mobile information devices (MIDs).
The Mobile Information Device Profile (MIDP) defines an architecture and the associated application programming interfaces (APIs) for facilitating an application development environment for MIDs. An application that is written for the MIDP is referred to as a MIDlet. A MIDlet suite is a collection of Java® class files and content files (e.g., images) that may be used as part of a MIDlet. The files of a MIDlet suite may be enclosed within a Java® archive (JAR) file. A MIDlet suite may include a single MIDlet, or multiple MIDlets. As used herein, the term MIDlet may refer to either a standalone MIDlet or to a MIDlet that is part of a MIDlet suite.
In some situations, it may be desirable to update an existing MIDlet. Updating a MIDlet may involve providing additional functionality for the MIDlet, correcting errors that have been found in the MIDlet, etc. One way to update a MIDlet is to create a new version of the MIDlet that includes the desired update(s). The user obtains the updated MIDlet by downloading the new version of the MIDlet in its entirety. However, there may be some disadvantages with this kind of an approach. The updated MIDlet may include some of the same files as the previous version of the MIDlet. Thus, downloading the updated version of the MIDlet may be somewhat inefficient, because some files of the MIDlet may be downloaded multiple times. Accordingly, benefits may be realized by improved systems and methods for updating an existing MIDlet. Some exemplary systems and methods for updating an existing MIDlet are described herein.